package com.totcy.atom.presenter.contract;

import com.totcy.atom.bean.DailySentenceCiBa;
import com.totcy.baselibrary.base.mvpbase.BaseModel;
import com.totcy.baselibrary.base.mvpbase.BaseView;

/**
 * description : 每日一句contract
 *
 * @author : Totcy
 * @date : 2017/12/7 17:06
 * @update : 2017/12/7
 */
public interface DailySentenceContract {
    interface View extends BaseView {
        /**
         * @param dailySentenceCiBa
         */
        void onDailySentenceCiBa(DailySentenceCiBa dailySentenceCiBa);

        /**
         * 这里获取数据失败
         */
        void onDataFail(int code, String message);
    }

    interface Presenter {
        /**
         * Presenter 调用 model 获取数据
         */
        void getDailySentence();
    }

    interface Model extends BaseModel {
        interface DataCallback {
            /**
             * 数据获取成功  返回实体
             *
             * @param bean
             */
            void onDailySentenceCiBa(DailySentenceCiBa bean);

            /**
             * 这里获取数据失败
             */
            void onDataNotAvailable(int code, String message);
        }

        /**
         * 从网络获取数据
         */
        void getDailySentence(DataCallback callback);

    }
}
